home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / share / idl / bonobo-2.0 / Bonobo_UI.idl < prev    next >
Text File  |  2006-01-09  |  3KB  |  132 lines

  1. /*
  2.  * bonobo-ui.idl: Handles some User Interface issues for components
  3.  *
  4.  * Copyright (C) 2000  Helix Code, Inc.
  5.  *
  6.  * Author:
  7.  *    Michael Meeks (michael@helixcode.com)
  8.  */
  9.  
  10. #ifndef BONOBO_UI_IDL
  11. #define BONOBO_UI_IDL
  12.  
  13. #include "Bonobo_Unknown.idl"
  14.  
  15. module Bonobo {
  16.     interface UIContainer;
  17.  
  18.     interface UIComponent : Bonobo::Unknown {
  19.  
  20.         void setContainer   (in UIContainer container);
  21.         void unsetContainer ();
  22.  
  23.         readonly attribute string name;
  24.  
  25.         enum EventType {
  26.             STATE_CHANGED,
  27.             OTHER
  28.         };
  29.  
  30.         /*
  31.          * Returns an XML description of all available verbs.
  32.          */
  33.         string      describeVerbs ();
  34.  
  35.         /*
  36.          * Allows a remote user to execute a verb by name.
  37.          */
  38.         oneway void execVerb      (in string   cname);
  39.  
  40.         /*
  41.          * Allows a remote user to flag an event
  42.          */
  43.         oneway void uiEvent       (in string    id,
  44.                        in EventType type,
  45.                        in string    state);
  46.  
  47.         /**
  48.          * unImplemented:
  49.          *
  50.          * placeholders for future expansion.
  51.          */
  52.         void unImplemented  ();
  53.         void unImplemented2 ();
  54.         void unImplemented3 ();
  55.         void unImplemented4 ();
  56.     };
  57.  
  58.     interface UIContainer : Bonobo::Unknown {
  59.         exception MalformedXML    {};
  60.         exception InvalidPath     {};
  61.         exception NonExistentAttr {};
  62.         exception Insensitive     {};
  63.         exception Unknown         {};
  64.  
  65.         /* FIXME: broken, should use set/get object instead */
  66.         void    registerComponent   (in string component_name,
  67.                           in Bonobo::UIComponent component);
  68.  
  69.         oneway void deregisterComponent (in string component_name);
  70.  
  71.         oneway void     freeze      ();
  72.         oneway void     thaw        ();
  73.  
  74.         oneway void     setAttr     (in string path,
  75.                          in string attr,
  76.                          in string value,
  77.                          in string component_name);
  78.         string          getAttr     (in string path, in string attr)
  79.             raises (InvalidPath, NonExistentAttr);
  80.  
  81.         void    setNode             (in string path, in string xml,
  82.                          in string component_name)
  83.             raises (MalformedXML, InvalidPath);
  84.  
  85.         string  getNode             (in string path,
  86.                          in boolean nodeOnly)
  87.             raises (InvalidPath);
  88.  
  89.         void    removeNode          (in string path,
  90.                          in string by_component_name)
  91.             raises (InvalidPath);
  92.  
  93.         boolean exists              (in string path);
  94.  
  95.         void    execVerb            (in string   cname)
  96.             raises (Insensitive, Unknown);
  97.  
  98.         void    uiEvent             (in string                 id,
  99.                          in UIComponent::EventType type,
  100.                          in string                 state)
  101.             raises (Insensitive, Unknown);
  102.  
  103.         /*
  104.          *  Currently the object should be a Bonobo::Control interface
  105.          * but this may be changed to a string based Moniker approach.
  106.          * 
  107.          *   The control's property bag will have the following
  108.          * properties set on it in various circumstances:
  109.          *
  110.          *  bonobo:ui:vertical    boolean
  111.          */
  112.         void            setObject   (in string path,
  113.                          in Bonobo::Unknown control)
  114.             raises (InvalidPath);
  115.  
  116.         Bonobo::Unknown getObject   (in string path)
  117.             raises (InvalidPath);
  118.  
  119.         /**
  120.          * unImplemented:
  121.          *
  122.          * placeholders for future expansion.
  123.          */
  124.         void unImplemented  ();
  125.         void unImplemented2 ();
  126.         void unImplemented3 ();
  127.         void unImplemented4 ();
  128.     };
  129. };
  130.  
  131. #endif /* BONOBO_UI_IDL */
  132.